﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Besture.Common.Definition;

namespace Besture.Common
{
    public class SMSHelper
    {

        public static string SendSMS(string Mobile ,string Content )
        {
            String _Response = "";
            //即时短信
            /*即时短信(带扩展号)SendSMSEx(软件序列号,手机号码,短信内容,附加号,优先级)
             * 
             * 参数说明：
             * 软件序列号即注册序列号
             * 手机号码(最多一次发送200个手机号码,号码间用逗号分隔，逗号必须是半角状态的)
             * 短信内容(最多500个汉字或1000个纯英文，emay服务器程序能够自动分割；
             *  亿美有多个通道为客户提供服务，所以分割原则采用最短字数的通道为分割短信长度的规则，
             *  请客户应用程序不要自己分割短信以免造成混乱).亿美推荐短信长度70字以内 [扩展号]默认必须为空
             * 附加号即扩展号，附加号有用户设置。
             * 优先级代表优先级，范围1~5，数值越高优先级越高，当亿美通道的短信量特别大的时候，
             * 短信会在通道队列上排队，如果优先级越高，提交短信的速度会越快。
             */
            //即时发送(扩展)   这里是          软件序列号  手机号       短信内容            附加号        优先级
            try
            {
                new CommonBase().WriteLog(Mobile.ToString());
                new CommonBase().WriteLog(Content.ToString());
                //int result = EUCPComm.SendSMS("3SDK-BSO-0130-PBRPP", Mobile, Content, "", "5");
                //即时发送      这里是软件序列号    手机号       短信内容     优先级
                int result = EUCPComm.SendSMS("", Mobile, Content, "5");
                new CommonBase().WriteLog(result.ToString());
                if (result == 1)
                    _Response = "发送成功";
                else if (result == 101)
                    _Response = "网络故障";
                else if (result == 102)
                    _Response = "其它故障";
                else if (result == 0)
                    _Response = "失败";
                else if (result == 100)
                    _Response = "序列号码为空或无效";
                else if (result == 107)
                    _Response = "手机号码为空或者超过1000个";
                else if (result == 108)
                    _Response = "手机号码分割符号不正确";
                else if (result == 109)
                    _Response = "部分手机号码不正确，已删除，其余手机号码发送成功";
                else if (result == 110)
                    _Response = "短信内容为空或超长（70个汉字）";
                else if (result == 111)
                    _Response = "附加号码过长（8位）";
                else if (result == 201)
                    _Response = "计费失败，请充值";
                else
                    _Response = "其他故障值：" + result.ToString();
            }
            catch (Exception e)
            {
                new CommonBase().WriteLog(e.ToString());
                throw;
            }
            
            return (_Response);
        }
    }
}
